package algorithm;

import utils.PrintlnUtils;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * TODO LRU算法四种实现方式介绍
 * https://blog.csdn.net/elricboa/article/details/78847305
 */
public class TestLRU {
    public static void main(String[] args) {
        LinkedHashMap<String, Integer> map = new LinkedHashMap<>(0, 0.75f, true);
        map.put("a", 1);
        map.put("b", 2);
        map.put("c", 3);
        map.put("e", 4);
        map.put("f", 5);

        map.get("c");
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            PrintlnUtils.println("key = "+entry.getKey()+"  value = "+entry.getValue());
        }

        //    key = a  value = 1
        //
        //    key = b  value = 2
        //
        //    key = c  value = 3
        //
        //    key = e  value = 4
        //
        //    key = f  value = 5


        //打开  map.get("c");

        //    key = a  value = 1
        //
        //    key = b  value = 2
        //
        //    key = e  value = 4
        //
        //    key = f  value = 5
        //
        //    key = c  value = 3  排到末尾；最近使用的放到最下面

    }
}
